/**
 * 导航历史管理工具类
 * 用于追踪用户的导航历史，实现智能返回功能
 */

// 存储用户的来源页面信息
const SOURCE_PAGE_KEY = 'source_page';

/**
 * 导航来源类型
 */
export type SourcePage = 'Home' | 'TableBoard' | string;

/**
 * 设置导航来源页面
 * @param sourcePage 来源页面名称
 */
export function setSourcePage(sourcePage: SourcePage): void {
  try {
    localStorage.setItem(SOURCE_PAGE_KEY, sourcePage);
  } catch (error) {
    console.error('Failed to set source page:', error);
  }
}

/**
 * 获取导航来源页面
 * @returns 来源页面名称，如果没有则返回默认值 'Home'
 */
export function getSourcePage(): SourcePage {
  try {
    return (localStorage.getItem(SOURCE_PAGE_KEY) || 'Home') as SourcePage;
  } catch (error) {
    console.error('Failed to get source page:', error);
    return 'Home';
  }
}

/**
 * 获取返回路由名称
 * 根据记录的来源页面返回相应的路由名称
 */
export function getBackRouteName(): string {
  const sourcePage = getSourcePage();
  return sourcePage;
} 